<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="com.google.appengine.api.utils.*"%>
<%@ page import="com.google.appengine.api.capabilities.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Tech info</title>
</head>
<body>

<img src="http://code.google.com/appengine/images/appengine-noborder-120x30.gif"
alt="Powered by Google App Engine" />

	<ul>
<li><a href="https://boektrust-soep-gae.googlecode.com/svn/onixsoap/">svn</a></li>
<li><a href="http://code.google.com/p/boektrust-soep-gae/source/list">svn revisions</a></li>
<li><a href="https://soaponix.appspot.com/">this app</a></li>
<li><a href="https://appengine.google.com/">my appengines</a></li>
<li><a href="http://localhost/~frans/hello.php">php soap access</a></li>
<li><a href="http://frans.webhop.org/~frans/hello.php">php soap access</a></li>
<li><a href="http://soaponix.appspot.com/BrowseSoapServlet/nl/boektrust/btsoep/server/wsdl/jaxws/BrowseWsdlService.wsdl">wsdl</a>
<li>java -jar <a href="https://boektrust-soep-gae.googlecode.com/svn/onixsoap/onixsoap/demo/demo.jar">demo.jar</a></li>
<li><a href="/HelloServlet">HelloServlet</a></li>
<li><a href="hello.jsp">hello.jsp</a></li>
<li><a href="https://boektrust-soep-gae.googlecode.com/svn/onixsoap/onixsoap/extra/">ict licenses</a></li>
<li><a href="https://appengine.google.com/logs?&app_id=s~<%=SystemProperty.applicationId.get()%>&version_id=<%=SystemProperty.applicationVersion.get()%>">GAE-logs</a></li>
<li><a href="PersistentService.jsp">PersistentService.jsp</a></li>
<li><a href="http://localhost:8888/_ah/admin/">localhost admin page</a></li>
<li><a href="http://soaponix.appspot.com/BrowseSoapServlet/nl/boektrust/btsoep/server/jaxws/PersistentServiceSoapService.wsdl">PersistentServiceSoapService.wsdl</a></li>
<li><a href="http://www.soapui.org/">soapui</a></li>
<li><a href="http://code.google.com/p/boektrust-soep-gae/w/list">wiki at google</a>,
<a href="https://boektrust-soep-gae.googlecode.com/svn/onixsoap/onixsoap/doc/woas-0.12.0.html">wiki on a stick</a></li>
	</ul>

	<table border="1">
		<tr>
			<td><%=SystemProperty.applicationId.key()%></td>
			<td><%=SystemProperty.applicationId.get()%></td>
		</tr>
		<tr>
			<td><%=SystemProperty.version.key()%></td>
			<td><%=SystemProperty.version.get()%></td>
		</tr>
		<tr>
			<td><%=SystemProperty.applicationVersion.key()%></td>
			<td><%=SystemProperty.applicationVersion.get()%></td>
		</tr>
		<tr>
			<td>SystemProperty.environment.value</td>
			<td><%=SystemProperty.environment.value().name()%></td>
		</tr>
	</table>

	<table border="1">

		<%
			Class clz = com.google.appengine.api.capabilities.Capability.class;
			Object obj = com.google.appengine.api.capabilities.CapabilitiesServiceFactory
					.getCapabilitiesService();
			java.lang.reflect.Method m = obj.getClass().getMethod("getStatus",
					com.google.appengine.api.capabilities.Capability.class);
			for (java.lang.reflect.Field f : clz.getFields()) {
				if (f.getType() == clz
						&& java.lang.reflect.Modifier
								.isStatic(f.getModifiers())) {
					Object arg = f.get(null);
					//Object ret=m.invoke(null, arg);//java.lang.IllegalAccessException
					//out.println("<tr><td>"+f.getName()+"</td><td>"+arg+"</td><td>"+m.getName()+"</td></tr>");//
				}
			}
		%>
		<tr>
			<td>BLOBSTORE</td>
			<td><%=CapabilitiesServiceFactory.getCapabilitiesService()
					.getStatus(Capability.BLOBSTORE).getStatus().name()%></td>
		</tr>
		<tr>
			<td>DATASTORE</td>
			<td><%=CapabilitiesServiceFactory.getCapabilitiesService()
					.getStatus(Capability.DATASTORE).getStatus().name()%></td>
		</tr>
		<tr>
			<td>DATASTORE_WRITE</td>
			<td><%=CapabilitiesServiceFactory.getCapabilitiesService()
					.getStatus(Capability.DATASTORE_WRITE).getStatus().name()%></td>
		</tr>
		<tr>
			<td>IMAGES</td>
			<td><%=CapabilitiesServiceFactory.getCapabilitiesService()
					.getStatus(Capability.IMAGES).getStatus().name()%></td>
		</tr>
		<tr>
			<td>MAIL</td>
			<td><%=CapabilitiesServiceFactory.getCapabilitiesService()
					.getStatus(Capability.MAIL).getStatus().name()%></td>
		</tr>
		<tr>
			<td>MEMCACHE</td>
			<td><%=CapabilitiesServiceFactory.getCapabilitiesService()
					.getStatus(Capability.MEMCACHE).getStatus().name()%></td>
		</tr>
		<tr>
			<td>PROSPECTIVE_SEARCH</td>
			<td><%=CapabilitiesServiceFactory.getCapabilitiesService()
					.getStatus(Capability.PROSPECTIVE_SEARCH).getStatus()
					.name()%></td>
		</tr>
		<tr>
			<td>TASKQUEUE</td>
			<td><%=CapabilitiesServiceFactory.getCapabilitiesService()
					.getStatus(Capability.TASKQUEUE).getStatus().name()%></td>
		</tr>
		<tr>
			<td>URL_FETCH</td>
			<td><%=CapabilitiesServiceFactory.getCapabilitiesService()
					.getStatus(Capability.URL_FETCH).getStatus().name()%></td>
		</tr>
		<tr>
			<td>XMPP</td>
			<td><%=CapabilitiesServiceFactory.getCapabilitiesService()
					.getStatus(Capability.XMPP).getStatus().name()%></td>
		</tr>
	</table>

	<table border="1">
		<tr>
			<td>getAuthType()</td>
			<td><%=request.getAuthType()%></td>
		</tr>
		<tr>
			<td>getCharacterEncoding()</td>
			<td><%=request.getCharacterEncoding()%></td>
		</tr>
		<tr>
			<td>getContentLength()</td>
			<td><%=request.getContentLength()%></td>
		</tr>
		<tr>
			<td>getContentType()</td>
			<td><%=request.getContentType()%></td>
		</tr>
		<tr>
			<td>getContextPath()</td>
			<td><%=request.getContextPath()%></td>
		</tr>
		<tr>
			<td>getLocalAddr()</td>
			<td><%=request.getLocalAddr()%></td>
		</tr>
		<tr>
			<td>getLocalName()</td>
			<td><%=request.getLocalName()%></td>
		</tr>
		<tr>
			<td>getLocalPort()</td>
			<td><%=request.getLocalPort()%></td>
		</tr>
		<tr>
			<td>getMethod()</td>
			<td><%=request.getMethod()%></td>
		</tr>
		<tr>
			<td>getPathInfo()</td>
			<td><%=request.getPathInfo()%></td>
		</tr>
		<tr>
			<td>getPathTranslated()</td>
			<td><%=request.getPathTranslated()%></td>
		</tr>
		<tr>
			<td>getProtocol()</td>
			<td><%=request.getProtocol()%></td>
		</tr>
		<tr>
			<td>getQueryString()</td>
			<td><%=request.getQueryString()%></td>
		</tr>
		<tr>
			<td>getRemoteAddr()</td>
			<td><%=request.getRemoteAddr()%></td>
		</tr>
		<tr>
			<td>getRemoteHost()</td>
			<td><%=request.getRemoteHost()%></td>
		</tr>
		<tr>
			<td>getRemotePort()</td>
			<td><%=request.getRemotePort()%></td>
		</tr>
		<tr>
			<td>getRemoteUser()</td>
			<td><%=request.getRemoteUser()%></td>
		</tr>
		<tr>
			<td>getRequestedSessionId()</td>
			<td><%=request.getRequestedSessionId()%></td>
		</tr>
		<tr>
			<td>getRequestURI()</td>
			<td><%=request.getRequestURI()%></td>
		</tr>
		<tr>
			<td>getScheme()</td>
			<td><%=request.getScheme()%></td>
		</tr>
		<tr>
			<td>getServerName()</td>
			<td><%=request.getServerName()%></td>
		</tr>
		<tr>
			<td>getServerPort()</td>
			<td><%=request.getServerPort()%></td>
		</tr>
		<tr>
			<td>getServletPath()</td>
			<td><%=request.getServletPath()%></td>
		</tr>
		<tr>
			<td>getLocale()</td>
			<td><%=request.getLocale()%></td>
		</tr>
		<tr>
			<td>getUserPrincipal()</td>
			<td><%=request.getUserPrincipal()%></td>
		</tr>

	</table>

</body>
</html>